package com.lw.common.config;

import cn.dev33.satoken.exception.NotLoginException;
import com.lw.common.utils.ResultVo;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice;

@RestControllerAdvice
public class GlobalExceptionHandler {

    // 全局异常拦截
    @ExceptionHandler
    public ResultVo<String> handlerException(NotLoginException e) {
        e.printStackTrace();
        return ResultVo.error(10000, "未登录，请先登录");
    }

    // 全局异常拦截
    @ExceptionHandler
    public ResultVo<String> handlerException(Exception e) {
        e.printStackTrace();
        return ResultVo.error(e.getMessage());
    }
    //字段验证
//    @ExceptionHandler(MethodArgumentNotValidException.class)
//    public ResultVo<String> handleValidationExceptions(MethodArgumentNotValidException ex) {
//        // 构建错误信息
//        String s = "Validation error: " + ex.getBindingResult().getAllErrors().get(0).getDefaultMessage();
//        return ResultVo.error(s);
//    }


}
